
struct sum
{
  template< class x>
  struct app
  {
     template< class y>
     struct app: pAdd::app<x >::app<y >
     {
       typedef typename pAdd::app<x >::app<y >::value value;
     };
  };
};

struct mainfunction: sum::app<Int<1> >::app<Int<2>  >
{
  typedef sum::app<Int<1> >::app<Int<2> >::value value;
};
